random_generator_base Derived Type

type, public, abstract :: random_generator_base

Abstract class to derive random number generator classes


Inherited by

type~~random_generator_base~~InheritedByGraph type~random_generator_base random_generator_base type~rkiss05_generator rkiss05_generator type~rkiss05_generator->type~random_generator_base type~self_organizing_map self_organizing_map type~self_organizing_map->type~rkiss05_generator rnumber_grator type~two_level_self_organizing_map two_level_self_organizing_map type~two_level_self_organizing_map->type~rkiss05_generator rnumber_grator

Type-Bound Procedures

procedure(random_generator_constructor), public, deferred :: create

  • subroutine random_generator_constructor(generator, iseed) Prototype

    Template of the constructor of the classes derived from the random_generator class. random_generator_base

    Arguments

    Type IntentOptional Attributes Name
    class(random_generator_base) :: generator

    generator: A random_generator_base object

    integer, intent(in), optional :: iseed

    iseed: An integer with the seed of the random generator.

procedure(random_generator_destructor), public, deferred :: destroy

  • subroutine random_generator_destructor(generator) Prototype

    Template of the destructor of the classes derived from the random_generator class. random_generator_base

    Arguments

    Type IntentOptional Attributes Name
    class(random_generator_base) :: generator

    generator: A random_generator_base object

procedure(random_generator_generate), public, deferred :: generate

  • function random_generator_generate(generator) result(r) Prototype

    Template of the function used to generate realizations of the random numbers in the classes derived from the random_generator class. random_generator_base

    Arguments

    Type IntentOptional Attributes Name
    class(random_generator_base) :: generator

    generator: A random_generator_base object

    Return Value real(kind=wp)

    r: A real number

Source Code

     type,abstract :: random_generator_base
!! Abstract class to derive random number generator classes 
       contains
    !  * constructor  
         procedure(random_generator_constructor),deferred :: create
    !  * destructor     
         procedure(random_generator_destructor),deferred :: destroy
    !  * generate     
         procedure(random_generator_generate),deferred :: generate
    !     procedure(random_generator_initialize),deferred :: initialize
     end type random_generator_base